AI与智能硬件编程入门课

8-3 超声波控制音调(一个八度)

课程简介

本课程将学习使用超声波传感器测量的距离来控制扬声器的音调变化,每3厘米改变一个音阶,实现一个八度的音阶变化。

视频:超声波控制音调演示

目录

  1. 知识点
  2. 学习任务
  3. 实验材料
  4. 实际搭建
  5. 程序编写

一、知识点

1. 什么是超声波传感器?

HC-SR04超声波传感器

图1 HC-SR04超声波传感器

超声波传感器是将超声波信号转换成其他能量信号(通常是电信号)的传感器。

2. 超声波传感器测距的原理是什么?

发射器发送超声信号,物体将信号反射回来,接收器接收反射的信号。根据发送信号和反射信号(回波)之间的时间差即可计算距离。时间差越大,距离就越远。

二、学习任务

应用超声波传感器测量的距离控制音调:

三、实验材料

Arduino主控板模块

USB适配器

超声波测距模块

扬声器

电机驱动器

5kΩ可变电阻

开关

导线

实验材料图

图2 实验材料图

四、实际搭建

按照以下连接图进行硬件搭建:

搭建图

图3 搭建图

注意:使用纽扣式连接器确保每个元件稳固连接。

五、程序编写

1. 流程

流程图

图4 流程图

2. IDE编程

程序要点:

  • Setup(初始化函数)中编写定义引脚模式及变量
  • Loop(主循环函数)中编写超声波测距和音调控制逻辑

超声波所测距离赋值于变量

当变量在3~27之间时 - 每3cm递增一个音阶 - 播放音阶 - 延时

否则无声音

IDE程序截图

图5 IDE程序截图

3. 米思奇编程

程序要点:

  • 定义管脚序号及模式
  • 超声波所测距离赋值于变量
米思奇程序截图1

图6 米思奇程序截图1

米思奇程序截图2

图7 米思奇程序截图2